package com.iot.common.utils;

import java.util.Map;

/**
 * 操作map的工具
 */
public final class MpTool {

    /**
     * 获取long
     * 
     * @param map
     * @param key
     * @param defaultVal
     * @return
     */
    public final static long getLong(Map<String, Object> map, String key, long defaultVal) {
        if (map == null || map.isEmpty()) {
            return defaultVal;
        }
        if (map.get(key) != null) {
            return Long.parseLong("" + map.get(key));
        }
        return defaultVal;
    }

    /**
     * 获取double
     * 
     * @param map
     * @param key
     * @param defaultVal
     * @return
     */
    public final static double getDouble(Map<String, Object> map, String key, double defaultVal) {
        if (map == null || map.isEmpty()) {
            return defaultVal;
        }
        if (map.get(key) != null) {
            return Double.parseDouble("" + map.get(key));
        }
        return defaultVal;
    }

    /**
     * 获取bool
     * 
     * @param map
     * @param key
     * @return
     */
    public final static boolean getBoolean(Map<String, Object> map, String key) {
        if (map == null || map.isEmpty()) {
            return false;
        }
        if (map.get(key) != null) {
            return Boolean.parseBoolean("" + map.get(key));
        }
        return false;
    }

    /**
     * 获取int
     * 
     * @param map
     * @param key
     * @param defaultVal
     * @return
     */
    public final static int getInt(Map<String, Object> map, String key, int defaultVal) {
        if (map == null || map.isEmpty()) {
            return defaultVal;
        }
        if (map.get(key) != null) {
            return Integer.parseInt("" + map.get(key));
        }
        return defaultVal;
    }

    /**
     * 获取string
     * 
     * @param map
     * @param key
     * @param defaultVal
     * @return
     */
    public final static String getString(Map<String, Object> map, String key, String defaultVal) {
        if (map == null || map.isEmpty()) {
            return defaultVal;
        }
        if (map.get(key) != null) {
            return "" + map.get(key);
        }
        return defaultVal;
    }

    public final static String getString2(Map<String, String> map, String key, String defaultVal) {
        if (map == null || map.isEmpty()) {
            return defaultVal;
        }
        if (map.get(key) != null) {
            return "" + map.get(key);
        }
        return defaultVal;
    }

    /**
     * 检测是不是空的
     * 
     * @param map
     * @return
     */
    public final static boolean checkNull(Map<String, Object> map) {
        if (map == null || map.isEmpty()) {
            return true;
        }
        return false;
    }

}
